Method of symbol detection for MIMO dual-signaling uplink CDMA systems

ABSTRACT

The invention provides a block V-BLAST detection algorithm for a general multi-input multi-output CDMA system over the frequency-selective channels, in which each user&#39;s data stream can be either orthogonal space-time block encoded for transmit diversity or spatially multiplexed for high spectral efficiency according to the channel conditions. For such the considered dual-signaling system, the receiver could suffer from the large dimension data processing. A two-stage group V-BLAST detection algorithm is thus proposed to further reduce the computational complexity.

FIELD OF THE INVENTION

This invention relates to communication systems and, more particularly to the multi-input multi-output (MIMO) communication systems.

BACKGROUND OF THE INVENTION

Several prior techniques have been developed to process and deal with the MIMO communication system. Among them, there are:

(1) Utilize the spatial multiplexing (SM) individually for a user in the multi-input multi-output (MIMO) communication system to increase the spectral efficiency and to improve the linking quality. This technique can be applied directly to a multi-user (MU) system to form an MU-SM system or an MU-STC (Space-Time Coding) system. However, no matter which system is used, all users' data stream must be transmitted in the same transmission mode without switching to any other mode. Due to the relative non-flexible transmission operation, it is hard for the system to reach maximum performance, especially under severe environments. An example of the MU-SM system is proposed in [G. D. Golden, G. J. Foschini, R. A. Valenzuela, and P. W. Wolniansky, “Detection algorithm and initial laboratory results using V-BLAST space-time communication structure,” Electronic Letters, vol. 35, no. 1, pp. 14-161, January 1999]. While an example of MU-STC system can be referred to [V. Tarokh, H. Jafarkhani, and A. R. Calderbank, “Space-time block codes from orthogonal designs,” IEEE Trans. Inform. Theory, vol. 45, no. 7, pp. 1456-1467, July 1999].

(2) Naguib's 2-step Method can be used to implement an MU-STBC (space-time block codes) system directly, see [A. F. Naguib, N. Seshadri, and A. R. Calderbank, “Applications of space-time block codes and interference suppression for high capacity and high data rate wireless systems,” Proc. 32th Asilomar Conf Signals, Systems, and Computers, vol. 2, pp. 1803-1810, 1998]. Under the scheme the signal detection can be considered as a Parallel Interference Cancellation (PIC), followed by a Local Maximum Likelihood (ML) Decoding. The process of the PIC signal detection could not obtain the Receive Diversity Gain with gradually increasing. Besides, based on the detection metrics of the Maximum Likelihood, the method determines the optimum detection order to obtain a better signal detection performance, which requires a large volume of calculation.

(3) In the article of [V. Taroich, A. Naguib, N. Seshadri, and A. R. Calderbank, “Combined array processing and space-time coding,” IEEE Trans. Inform. Theory, vol. 45, no. 4, pp. 1121-1128, May 1999], it proposes a method that using BLAST (Bell Labs' Layered Space-Time) algorithm followed by a Maximum Likelihood (ML) searching to detect the signal. But this algorithm is based on the STTC(Space-Time Trellis Codes) structure mainly, and does not use the algebraic structure of the Codeword during decoding the signal.

(4) As proposed in [A. Stamoulis, N. Al-Dhahir, and A. R. Calderbank, “Further results on interference cancellation and space-time block codes,” Proc. 35th Asilomar Conf Signals, Systems, and Computers, vol. 1, pp. 257-261, 2001], Stamoulis's Method uses the algebraic structure of O-STBCs (Orthogonal Space-Time Block Codes) to implement the linear conversion for the signal, and to separate signal from interference. In an MU-STBC system, this method is used for separation of a certain user's data stream in each of recursive processes. After every interference separation step of each detection stage, it leaves no extra degrees-of-freedom for the next detection stage to use. This makes the system not able to obtain the gradually increasing receive diversity gain, even under the system integrated with a power ordering method.

SUMMARY OF THE INVENTION

To improve the drawbacks mentioned above, this invention provides a block-wise V-BLAST (Vertical Bell Labs' Layered Space-Time) detection algorithm for a general MIMO CDMA systems. In this method, each user's data stream is determined to be processed either by Space-Time coding for obtaining higher diversity gain, or by Space Multiplexing for increasing the Spectral efficiency, depending on the channel situations. Based on the characteristics of the channel matrix structure, this invention proposes a signal detection algorithm with high performance, low calculation complexity. The algorithm can be described as:

(1) Under the environments of frequency selective attenuation channel, this invention proposes a flexible switching of the signal transmission modes in the mobile terminals for the MIMO receiver-transmitter systems, as shown in FIG. 1.

(2) In each mobile terminal, the transmission of the data stream can use either SM (such as V-BLAST of Bell Labs.) for increasing the transmission speed, or O-STBC for obtaining the diversity gain.

(3) A base station can conduct the linear combination of the received data and the channel matrix first, and then detect the transmitted symbols from different mobile terminals by using the V-BLAST algorithm.

(4) Under this dual-signaling system, applying the traditional V-BLAST algorithm directly to the receiving end (a base station) will encounter the problem of large volume of data processing. But through the sophisticated application of the algebraic structure possessed by O-STBC, this invention can reduce the calculation complexity significantly by implementing the V-BLAST algorithm in block-wise.

(5) Utilize the algebraic structure embedded in the channel matrix to build a recursive detector with low complexity. With the invented block-wise V-BLAST algorithm, the inventors can prove that it might avoid the calculation of the weight in each iteration calculation. It can even get the results directly from the previous iteration calculations, without performing the inverse matrix calculation.

(6) To solve the time delay problem caused by STBC signals, this invention proposes a 2-stage group V-BLAST detection algorithm in the dual-signaling system, and this can reduce the computational complexity.

(7) The MIMO receiver-transmitter of dual-signaling system with flexible switching capability proposed in this invention can be applied to the post 3^(rd) generation of high speed uplink communication systems.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows the proposed receiver-transmitter configuration of this invention, in which a dual-signaling transmitter and a block-wise V-BLAST signal detection receiver is proposed.

FIG. 2 shows the structure of a matched filter channel matrix F, of this invention.

FIG. 3 shows the implementation of the symbol detection based on iterative block-wise V-BLAST with low computational complexity, which proposed in this invention.

FIG. 4 shows the average bit error rate of SM transmission and of dual-signaling transmission; and

FIG. 5 shows the average bit error rates versus signal/noise ratio, detected by 3 different methods, for a dual-signaling system with Ricean attenuation channel.

SYMBOL NOTATIONS

-   1 de-multiplexer -   2 space-time encoder -   3 spread spectrum code -   4 spread spectrum decoder and diversity combiner (using H, for     linear combining) -   5 block-wise V-BLAST detector multiplexer -   7 orthogonal matrix -   8 implementation of low complexity algorithm (1^(st) iteration) -   9 implementation of low complexity algorithm (2^(nd) iteration) -   10 implementation of low complexity algorithm (L^(th) iteration) -   M mobile station -   S base station -   TD transmitted multi-users' data -   MD multi-input multi-output channels H -   DD detected multi-users' data string

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

A preferred embodiment of this invention is to be described as the following:

I. System Modeling

A. System Descriptions and Basic Assumptions

Consider an MIMO uplink CDMA system over the frequency-selective multi-path attenuation channels, as shown in FIG. 1, in which each of Q user terminals is allocated with N transmission antennas. The data stream of the q^(th) user s_(q)(k)′ where 1≦q≦Q′ can be transmitted by using spatial multiplexing (SM), or space time block coding (STBC). Suppose S_(D) and S_(M) represent the set of the user terminals which use STBC and SM respectively, and Q_(D):=|S_(D)| and Q_(M):=|S_(M)| represent the corresponding number of users. Based on the proposal in the article of [V. Tarokh, H. Jafarkhani, and A. R. Calderbank, “Space-time block codes from orthogonal designs,” IEEE Trans. Inform. Theory, vol. 45, no. 7, pp. 1456-1467, July 1999], for consecutive p symbols in the data stream of each STBC terminal, they are two-dimensionally coded by the space (N antennas) and time (K symbols interval), and then are transmitted through K-symbol intervals by N antennas. At the same signal interval, each SM user might have NK transmitted independent symbols. Hence, the total numbers of data symbols transmitted out by Q users in K symbol intervals can be represented as in formula (1) below: L _(T) :=PQ _(D) +NKQ _(M)  (1)

Concretely speaking, these two space-time signal transmission mechanisms can be completely described by a pair of N×K space-time codeword matrix. In this invention, the q^(th) user's data stream s_(q)(k) can be split into multiple sub-data streams as: s_(q,l)(k):=s_(q)(L_(q)k+l−1), where 1≦l≦L_(q), and L_(q) is the number of sub-data streams transmitted by the q^(th) user. When a user using STBC for transmitting, i.e., q∈S_(D), then L_(q)=P; and when a user using SM for transmitting, i.e., q∈S_(M), then L_(q)=NK.

Hence, the space-time codeword matrix of the q^(th) user can be represented as: $\begin{matrix} {{{X_{q}(k)}\text{:} = {\sum\limits_{l = 1}^{2L_{q}}{A_{q,l}{{\overset{\sim}{s}}_{q,l}(k)}}}},} & (2) \end{matrix}$ Wherein A_(q,l)∈

^(N×K) is a space-time modulation matrix, and possess the following characteristics: (1)A_(q,l)A_(q,l) ^(H)=I_(N) and (2)A_(q,k)A_(q,l) ^(H)+A_(q,l)A_(q,k) ^(H)=O_(N) when k≠l, q∈S_(D)[4]. Besides, {tilde over (s)}_(q,l)(k):=Re{s_(q,l)(k)} when 1≦l≦L_(q), and {tilde over (s)}_(q,l)(k):=Im{s_(q,l-L) _(q) (k)} when L_(q)+1≦l≦2L_(q). Next, the space-time coding data stream of each user must be implemented on the spread spectrum processing and transmitted to frequency-selective attenuation channels of L_(c) paths through N antennas.

Suppose the receiving end uses M (≧N) antennas, then the space-time data vector of code chip sampling for the received signal in k^(th) symbol interval is y(k)∈C^(M(G+Lc−1)), wherein G is a Spreading Factor. Due to the time delay caused by STBC transmission signal, the inventors collect y(k) during the interval of K consecutive symbols to generate the following space-time data matrix (suppose Q users are synchronous in symbol). $\begin{matrix} {{{{Y(k)}\text{:}{= \left\lbrack {{y(k)}\quad\ldots\quad{y\left( {k + K - 1} \right)}} \right\rbrack}} = {{\sum\limits_{q = 1}^{Q}{H_{q}{X_{q}(k)}}} + {V(k)}}},} & (3) \end{matrix}$ wherein H_(q)∈

^(M(+Lc−1)×N) is the MIMO channel matrix from qth user to receiving end, and H_(q) includes the effect of spread spectrum code, and is static and constant during the interval of K consecutive symbols. And wherein V(k)∈C^(M(G+Lc−1)×K) is the matrix of the channel noise. Here, the inventors assume:

-   (A1) The symbol data stream s_(q)(k), for 1≦q≦Q is i.i.d.     (independent, identically distributed), and the average is zero, the     variance is σ_(s) ². -   (A2) Each element of noise V(k) is additive on white Gaussian noise     with respect to both time and space, and the average value is zero,     the variance is σ_(s) ². -   (A 3) Suppose that at least one user's data is transmitted by STBC     mode, and hence Q_(D)≧1. -   (A 4) Suppose N≦4′ hence the length of symbol block is P∈{2,4},     based oil [2].

B. The Data Model with Vectors

To simplify the detection and analysis process, the inventors propose to use the equivalent linear model with vectors, based on the linear model of equation (3). Suppose S_(q)(k):=[s_(q,l)(k), . . . ,S_(q,Lq)(k)]^(T) is the transmission symbol block of the q^(th) user. Under the general assumptions, the inventors re-number the NK symbols S_(q,l)(k) of each SM user (i.e., q∈S_(M)), so that the n^(th) data group s_(q,l)(k) of K^(th) symbol, for (n−1)K+1≦l≦nK, can be transmitted by the n^(th) antenna. The inventors further define {tilde over (s)}_(q)(k):=[Re{s_(q) ^(T)(k)}Im{s_(q) ^(T)(k)}]^(T)∈

^(2L) ^(q) and {tilde over (y)}(k):=[Re{y^(T)(k)} Im{y^(T)(k)}]^(T)∈

^(2M) as the real numbers of transmission and receiving of the symbol block of the q^(th) user respectively. Hence, the complex matrix model (3) can be re-written as an equivalent real vector model in real (4) as following. y _(c)(k):=[{tilde over (y)} ^(T)(k) . . . {tilde over (y)} ^(T)(k+K−1)]^(T) =H _(c) s _(c)(k)+v _(c)(k),  (4)

Where H_(c)∈

^(2 K M (G+Lc−1)×2 L T) is the equivalent total users'(Q users) MIMO channel model. And s _(c)(k):=[{tilde over (s)}_(l) ^(T)(k) . . . {tilde over (s)}_(Q) ^(T)(k)]^(T)∈

^(2L) ^(T) ,  (5) is the symbol vector transmitted by all user terminals, v_(c)(k) is the corresponding noise item. Carry-out the spectrum spreading for y_(c)(k) and then make linear combining with channel matrix H_(c) and we can obtain the following Matched-Filtered (MF) Data Model. z(k):=H _(c) ^(T) y _(c)(k)=Fs _(c)(k)+{overscore (v)}(k),  (6)

wherein F:=H _(c) ^(T) H _(c)∈

^(2L) ^(T) ^(×2L) ^(T) ,  (7)

and {overscore (v)}(k):=H_(c) ^(T)v_(c)(k). With these results, the symbol detection can be carried out based on model (7). To make the core concepts of this invention more clear, we will discuss mainly the space-time codeword real symbol modulation by using the coding speed of 1 in the following descriptions, that is P=K and L_(T)=PQ_(D)+PNQ_(M). As a matter of facts, this same result can also be applied directly to complex symbol modulation (in this situation, may be the STBC users shall use the space-time codeword with half coding speed).

II. Matched Filter Channel Matrix

After the descriptions in this section, it will be found that the F matrix have an attractively sophisticated structure. To specifically describe the structure of F matrix, the inventors collect the all elements in F matrix first, and then put them all together to inspect the F matrix. Based on the characteristics of a channel, the data stream of each user can be processed by O-STBC to obtain the transmission diversity, or by SM to obtain high spectrum efficiency. This leads to two signal prototypes, and each for a specific modulation. Besides, among many interference characteristics, there are three different and special standards built-in blocks must be clarified: two of them are related to the “intra-class” interference among the SM users or among the STBC users, and the third one is related to the “inter-class” interference among users.

To understand further the characteristics of these signal prototypes, recall the foregoing descriptions that the SM and STBC user terminals transmit P and NP symbols out respectively through N antennas, during the intervals of K(=P) symbols. Therefore, when F_(p,q) is a sub-matrix of F, then the interference between the data streams of the p^(th) and the q^(th) user can be represented as F_(p,q)∈

^(P×P) if p, q∈S_(D), F_(p,q) ∈

^(NP×NP) if p, q∈S_(M), and F_(p,q)∈

^(P×NP) if p∈S_(D) and q∈S_(M). Depending on q∈S_(D) or q ∈S_(M), the three kinds of the matrix F_(p,q) and F_(q,q) can be specifically described as below, and at last we can represent the set of P×P real orthogonal design with real diagonal elements as (P)(For those sub-matrix of the unit matrix with scalars, can be considered as the same type), as described in [2]. Suppose F_(p,q) is the sub-matrix of F, and is used to represent the mutual coupling between the p^(th) and the q^(th) user, then we can obtain the following results:

-   (1) When p, q∈S_(D), then Fp,q∈     ((P). And F_(q,q)=α_(q)I_(Po) -   (2) When p, q∈S_(M), then each of P×P sub-matrix of F_(p,q)∈     ^(NP×NP) is a unit matrix with scalars as the elements. -   (3) When p∈S_(D) and q∈S_(M), then each of P×P sub-matrix for     F_(p,q)∈     ^(NP×NP) is belong to     (P)_(o)

Some explanations and discussions related to above results are further described in the following (as to the drawings for the matrix structure, see FIG. 2):

(a) Property (1) describes that at a particular situation, the data of all users are modulated for the purpose of diversity gains. Each P×P diagonal sub-matrix of F is the coefficient products of the unit matrix I_(p), but each P×P non-diagonal sub-matrix of F needs an orthogonal design. The article [8] describes a user-wise block V-BLAST detector by using the block orthogonal features of F.

(b) Under the condition of p, q∈S_(M), because the transmission of SM signals does not utilize any relationship between space and time, the interference among the SM data streams transmitted by different antennas will separate space from time. Concretely speaking, because the SM data transmission to corresponding transmission channels are assumed to be static and constant during the K signal intervals, the interference matrix will actually have the same diagonal elements.

Property (3) creates a quite interesting result. The interference from SM data streams can be preserved without eliminating the orthogonal feature of O-STBC signal. This result can be proved by a simple example: the SM data streams of a single antenna influence the STBC signal only in the time dimension. Because the SM data streams have the separation features of time, its interference will make the association with time in the STBC data streams unchanged. So the result of the interference can still keep the features of orthogonal matrix unchanged. This good feature still exists in the dual-signaling system with a single antenna system, because under this situation, this user can be the data transmission stream by a single antenna system.

As to the complex symbol modulation, through appropriate modifications on the matrix, the results similar to the one mentioned above will be generated. The results are summarized in the following Table 1, wherein the matrix A^((i,j)) is the (i,j)^(th) sub-matrix block A^((i,j)) of the matrix A. TABLE 1 Summary of the structure of Matched Filter Mutual Coupling Matrix F_(p,q) Complex-Valued Constellation N = 2 (K = 2) N = 3 or 4 (K = 8) p, q ∈ S_(D) p = q : F_(q,q) = α_(q)I₄ p = q : F_(q,q) = α_(q)I₈ p ≠ q : F_(p,q) ∈ O(4) p ≠ q : F_(p,q) ∈ U(8) $\begin{matrix} {{{where}{\quad}{U^{({1,1})}(8)}} = {{U^{({2,2})}(8)}\quad\varepsilon\quad{O(4)}}} \\ {{U^{({1,\quad 2})}(8)} = {{U^{({2,1})}(8)}\quad = O_{4}}} \end{matrix}\quad$ p, q ∈ S_(M) $\begin{matrix} {p = {{q:F_{q,q}} = {\mathbb{R}}^{8 \times 8}}} \\ {F_{q,q}^{({n,n})} = {\alpha_{q,l}I_{4}}} \\ {{F_{q,q}^{({n,d})}\quad\varepsilon\quad{V(4)}},{1 \leq n},{d \leq 2}} \end{matrix}\quad$ $\begin{matrix} {p = {{q:F_{q,q}} = {\mathbb{R}}^{{16/N} \times 16N}}} \\ {F_{q,q}^{({n,n})} = {\alpha_{q,l}I_{16}}} \\ {{F_{q,q}^{({n,d})}\quad\varepsilon\quad{V(16)}},{1 \leq n},{d \leq N}} \end{matrix}\quad$ $\begin{matrix} {{p \neq {q:F_{p,q}}} = {\mathbb{R}}^{8 \times 8}} \\ {{F_{p,q}^{({n,d})}\quad\varepsilon\quad V(4)},{1 \leq n},{d \leq 2}} \end{matrix}\quad$ $\begin{matrix} {{p \neq {q:F_{p,q}}} = {\mathbb{R}}^{16N \times 16N}} \\ {{F_{p,q}^{({n,d})}\quad\varepsilon\quad{V(16)}},{1 \leq n},{d \leq N}} \end{matrix}\quad$ $\begin{matrix} {{{where}{\quad}{V^{({1,1})}(4)}} = {{V^{({2,2})}(4)}\quad = {c_{1}I_{2}}}} \\ {{V^{({1,\quad 2})}(4)} = {{- {V^{({2,1})}(4)}}\quad = {c_{2}I_{2}}}} \end{matrix}\quad$ $\begin{matrix} {{{where}{\quad}{V^{({1,1})}(16)}} = {{V^{({2,2})}(16)}\quad = {c_{1}I_{8}}}} \\ {{V^{({1,\quad 2})}(16)} = {{- {V^{({2,1})}(16)}}\quad = {c_{2}I_{8}}}} \end{matrix}\quad$ p ∈ S_(D)q ∈ S_(M) $\begin{matrix} {F_{p,q}\quad\varepsilon\quad R^{4 \times 8}} \\ {{F_{p,q}^{({l,n})}\quad\varepsilon\quad{O(4)}},{1 \leq n \leq 2}} \end{matrix}\quad$ $\begin{matrix} {F_{p,q}\quad\varepsilon\quad R^{8 \times 16N}} \\ {{F_{p,q}^{({l,n})}\quad\varepsilon\quad{D\left( {8,16} \right)}},{1 \leq n \leq N},{where}} \end{matrix}{\quad\quad}$ $\begin{matrix} {{D^{({1,1})}\left( {8,16} \right)} = {{D^{({1,2})}\left( {8,16} \right)} = {D^{({2,3})}\left( {8,16} \right)}}} \\ {= {{- {D^{({2,4})}\left( {8,16} \right)}}\quad\varepsilon\quad{O(4)}}} \end{matrix}\quad$ $\begin{matrix} {{- {D^{({2,\quad 1})}\left( {8,\quad 16} \right)}} = {{D^{({2,\quad 2})}\left( {8,\quad 16} \right)} = {D^{({1,\quad 3})}\left( {8,\quad 16} \right)}}} \\ {= {{D^{({1,\quad 4})}\left( {8,\quad 16} \right)}\quad\varepsilon\quad{O(4)}}} \end{matrix}\quad$ III. Block V-Blast Symbol Detection

In order to separate the mutual coupling symbol data stream from equation (6), this invention proposes to adopt the V-BLAST algorithm[article 1]. Under the situation that all the transmission signals are in SM mode (i.e., Q_(D)=0), it is obvious that using the V-BLAST detection technique for the traditional symbol-wise analysis at each layer is quite an instinct choice [article 1]. In this situation, it only needs to detect the L_(T)=NQ_(M) sub-data streams from z(k) when only a small number of STBC users carry out the data transmission, which becomes the dual-signal system. In order to make STBC user obtaining the diversity gains during data detection, the STBC itself might cause time delay and so that the receiver may receive more independent data symbols (it is necessary to detect all L_(T)=P(Q_(D)+NQ_(M)) sub-data streams from z(k)). And this might cause the receiver encounter the large volume of data processing and the detection complexity that follows. But through the sophisticated usage of the algebraic structure of O-STBC, the traditional V-BLAST detector can be implemented in block-wise. That is, in each V-BLAST iteration calculation, no matter the p symbols of a block are transmitted by STBC user or SM user, are able to be detected all together. Hence, to detect all P(Q_(D)+NQ_(M)) transmitted symbols, it is only needs Q_(D)+NQ_(M) iteration calculations, and this can actually reduce the algorithm's complexity.

Zero-Forcing Law: The inventors first consider the V-BLAST detection algorithm based on Zero-Forcing (ZF) Law. In this Law, each optimum iteration order is found based on the maximum signal-to-noise ratio [article 1]. In the initial stage, the ZF decision vector is F⁻¹z(k), and we can get the result of equation (8) based on (6): s _(d)(k):=F ⁻¹ z(k)=s _(c)(k)+F ⁻¹ {overscore (v)}(k).  (8)

Equation (8) shows the decision statistics of l^(th) symbol for 1≦l≦L_(T), where the l^(th) element of s_(d)(k) is an original signal added with the noise e_(l) ^(T)F⁻¹{overscore (v)}(k) in which e_(l) is the l^(th) unit-standard vector of

^(L) ^(T) . Hence, the noise strength can be directly derived as: $\begin{matrix} {{E\left\{ {{e_{l}^{T}F^{- 1}{\overset{\_}{v}(k)}}}^{2} \right\}} = {\frac{\sigma_{\upsilon}^{2}}{2}e_{l}^{T}F^{- 1}{e_{l}.}}} & (9) \end{matrix}$

Because all transmission symbols have the same variance, equation (9) means that the (average) SNR of l^(th) decision channel can be completely determined by [F⁻¹]_(l,l), the l^(th) diagonal element of the noise covariance matrix. Hence, the smaller [F⁻¹]_(l,l), implies the larger l^(th) channel noise, and so the l^(th) symbol can be detected in more precisely. And then we can obtain the optimum detection order in the initial state, through finding the minimum value of [F⁻¹]_(l,l) within 1≦l≦L_(T) interval. But, to find this optimum detection order, it requires the accurate information of the diagonal elements of F⁻¹.

Under the situation of a fixed parameter P, the inventors define that F(L) as the set of all PL×PL reversible symmetric matrix in real number, so that when X∈F(L) we get the following results: (i) each P×P block diagonal sub-matrix of X is the non-zero coefficients' product of I_(P), (ii) each P×P block non-diagonal sub-matrix of X belongs to

(P). Besides, if [F⁻¹]_(k,l) represents the (k,l)^(th) P×P block sub-matrix of F⁻¹, where 1≦k, l≦L, and L:=Q_(D)+NQ_(M). Then the inventors can further prove that [F⁻¹]_(l,l), =β_(0,l)I_(P) and [F⁻¹]_(k,l)∈

(P) when k≠l. This result proves that all P(Q_(D)+NQ_(M)) diagonal elements of F⁻¹ might have Q_(D)+NQ_(M) different layers. Hence, through determining the optimum detection order {overscore (l)}₀=arg min β_(0,l) in the initial stage, it is possible to detect P symbols simultaneously. Besides, the weight matrix of ZF can be calculated from the corresponding column of F⁻¹, that is: W₀=F⁻¹[e_(P({overscore (l)}) ₀ ⁻¹⁾⁺¹ . . . e _(P({overscore (l)}) ₀ _(−1)+P)]∈

^(L) ^(T) ^(×P). Next, through the receiving data model (4), the user's data after detection can be canceled, and this can further generate a modified data model for the detection of next stage.

Through the detect-and-cancel process, and then use the result of (6) to make the data for linear combination, this can thus prove that in the i^(th) iteration, for 1≦i≦L−1, the noise covariance matrix can be written as the equation (10) below: F _(i) ⁻¹:=(H _(c,i) ^(T) H _(c,i))⁻¹∈

^((L) ^(T) ^(−iP)×(L) ^(T) ^(−iP))  (10)

Where H_(c,i) is obtained from H_(c) by removing i blocks in the unit matrix of column P (that corresponds to the signal of the last detection). Due to F_(i) can be obtained from F by removing the i blocks in the unit matrix of column P and row P, hence the inventors can obtain the following results: F _(i) ∈F _((L−i),)  (11) and F _(i) ⁻¹ ∈F(L−i).  (12)

Based on the foregoing discussions, the inventors conclude that the block-wise detection method can be applied to each of the iteration calculations. And the corresponding detection order and the weight matrix can be calculated in the similar way as following: $\begin{matrix} {\quad{{{\overset{\quad\_}{l}}_{i} = {\arg{\quad\quad}{\min\limits_{1 \leq l \leq {L - i}}\beta_{i,l}}}},}} & (13) \\ {W_{i} = {{F_{i}^{- 1}\left\lbrack {e_{{P{({{\overset{\_}{l}}_{i} - 1})}} + 1}\quad\ldots\quad e_{{P{({{\overset{\_}{l}}_{i} - 1})}} + P}} \right\rbrack}.}} & (14) \end{matrix}$

It should be noted that, the reason for implementing the joint detection of P symbols together is because that it adopts the orthogonal coding. However, when the number of transmission antennas of the STBC users exceeds four, the characteristic of block detection does not exist anymore, even the orthogonal coding is used. This is because that the F has already lost the particular structure mentioned above, and the ideal characteristic of the inverse matrix F⁻¹ does not exist any more.

Law of Minimum Mean Square Error: Both the V-BLAST detector based on Minimum Mean Square Error (MMSE) and the ZF Law are capable of detecting P symbols in each of the iteration calculations. Next, the inventors will introduce that the MMSE V-BLAST detector can be also implemented in block-wise. Initially, the weight matrix of MMSE corresponding to the minimized E {∥s_(c)(k)−W₀ ^(T)z(k)∥²} can be obtained as shown in the following: $\begin{matrix} {W_{0} = {\left\lbrack {F + {\frac{\sigma_{\upsilon}^{2}}{2}I_{L_{T}}}} \right\rbrack^{- 1}.}} & (15) \end{matrix}$

The Mean Square Error of l^(th) symbol, that is E{|e_(l) ^(T)[s_(c)(k)−W₀ ^(T)z(k)]|²}, can be calculated as following: $\begin{matrix} {ɛ_{0,l} = {{e_{l}^{T}\left\lbrack {{\frac{2}{\sigma_{\upsilon}^{2}}F} + I_{L_{T}}} \right\rbrack}^{- 1}{e_{l}.}}} & (16) \end{matrix}$

Because F∈F(L), it is obvious that R₀:=[(2/σ_(v) ²)F+I_(L) _(T) ]∈F(L) and the R₀ ⁻¹∈F(L). Hence, the block-wise MMSE detection method can be carried out in the initial state. Starting from equation (4), after each process of the block detect and cancel, then use the formula of equation (6) for the process of the filtering match; and on the i^(th) iteration, the symbols' mean square error can be calculated by the diagonal elements of R_(i) ⁻¹:=[(2/σ_(v) ²)F_(i)+I_((L) _(T) _(−iP))]⁻¹. Due to R_(i) ⁻¹∈F(L−i), it is guaranteed that the block-wise MMSE detection method can be used in each of the iteration calculations.

From Table 1, it can be found that F includes orthogonal block sub-matrix, therefore, the block-wise V-BLAST detection method applied to symbol modulation in complex number can be constructed by the similar way to the symbol detection method in real number mentioned above. The inventors can derive a block-wise ZF/MMSE V-BLAST detector by the same method, in which 2p symbols in real number can be detected at every iteration calculation for STBC users. As to a specific antenna of SM users, it can detect 2k symbols in real number at every iteration calculation.

IV. Detector of Low Complexity

The major calculation load of the V-BLAST algorithm is the continuous inverse matrix calculations on all iteration. The inventors will prove that how to use the embedded structure of F and it's inverse matrix F⁻¹ to reduce the calculation load. Due to the special structure of F, based on the Cholesky decomposition, we can employ an efficient method by solving small dimensional linear equations to find the inverse matrix F⁻¹. The necessary inverse matrix calculation at every iteration calculation can be recursively calculated by using the parameters obtained from the last iteration.

A. An Efficient Method for Calculating F⁻¹ Using the Cholesky Decomposition

Recall that each of the P×P block matrixs can be considered as a P×P orthogonal design in real number. The sub-matrix can be completely described by p independent parameters. Therefore, the matrix can be determined by the last column, and the remaining parameters can be simply obtained by an appropriate linear conversion. This priori structure shows that the matrix F⁻¹ can be completely described by its jP^(th) column, for 1≦j≦L. Hence, the calculation of F⁻¹ is equivalent to solving the following dimension-reduced linear equation: FG=E,  (17)

Wherein G and E are L_(T)×L matrixes, and their j^(th) columns are jP^(th) column of F⁻¹ and I_(LT) respectively. To utilize equation (17) for solving the unknown G, the j^(th) column g_(j) must satisfy g_(i,j)=0, when (j−1)P+1≦i≦jP−1. This is because the embedded consecutive (p−1) zeros come from the j^(th) P×P diagonal sub-block of F⁻¹. Only non-zero elements must be determined. And the conjugate characteristics of F⁻¹ can further reduce the number of unknown non-zero elements of the actual g_(j). Therefore, only the non-zero elements beneath g_(jP-i,j)(=0) must be calculated. The inventors analyze the j^(th) column and find that only the last P(L−j)+1 elements must be determined. As j increments to j+1, there exists a gradual decrement in the amount p. To prove the utilization of the structure information of G mentioned above to simplify the solution of the equation (17), we first carry out the Cholesky decomposition for F, and obtain F=LL^(T), wherein L is a L_(T)×L_(T) lower triangular matrix (also belongs to F(L)). Hence, equation (17) can be equivalently written as: LL ^(T) g _(j) =e _(j)1≦j≦L.  (18)

Because L is a lower triangular matrix, the typically the method to solve g_(j) from equation (18) employs the Forward and Back Substitutions. Because the unknown elements to be solved in every g_(j) are all beneath g_(jP-i,j)(=0), hence it is not necessary to calculate the all elements of g_(j) in the process of Forward and Back Substitutions. The process can be terminated once the g_(jP,i) is calculated; and based on the conjugate characteristics of F⁻¹c, the calculation of the upper triangular elements is not necessary.

B. The Method of Recursive Calculation of F⁻¹

As mentioned in the Paragraph III above, the i^(th) calculation of the iterations needs to calculate F_(i) ⁻¹ to determine the best detection order and the related ZF weighted matrix. Next, the inventors will describe how to use F_(i-1) and F_(i-1) ⁻¹ matrix, recursively to calculate the F_(i) ⁻¹ in each iteration calculation, after F⁻¹ is obtained.

From the structure of H_(c,i), the inventors observe that the matrix F_(i)=H_(c,i) ^(T)H_(c,i) can be obtained from F_(i-1)(=H_(c,i-1) ^(T)H_(c,i-1)) by canceling a block of column P and the corresponding block of row P. Under the general situations, it is assumed that the last column and last row be all cancelled, otherwise, the inventors can simply swap the canceled blocks with the right-lower elements of F⁻¹ to comply with the above descriptions. Next, the inventors can partition the F_(i-1) into: $\begin{matrix} {{F_{i - 1}\text{:}{= \begin{bmatrix} F_{i} & B_{i - 1} \\ B_{i - 1}^{T} & D_{i - 1} \end{bmatrix}}},} & (19) \end{matrix}$

Wherein B_(i-1)∈

^((L) ^(T) ^(−iP)×P) and D_(i1)=d_(i1)I_(P), while d_(i-1) is a scalar. If the foregoing (L_(T)−iP)×(L_(T)−iP) main sub-matrix of F_(i-1) ⁻¹ is labeled as {overscore (F)}_(i-1), then we can obtain matrix {overscore (F)}_(i-1) on (i−1)^(th) iteration calculation. Based on F_(i-1) and {overscore (F)}_(i-1), and through some calculation processes, the inventors obtain the following important results:

F _(i) ⁻¹ ={overscore (F)} _(i-1) −c _(i-1) ⁻¹ {overscore (F)} _(i-1) B _(i-1) B _(i-1) ^(T) {overscore (F)} _(i-1.)  (20)

Wherein B_(i-1) ^(T){overscore (F)}_(i-1)B_(i-1)+d_(i-1)I_(P)=c_(i-1)I_(P).

Equation (20) provides a simple recursive equation for calculating F_(i) ⁻¹,this equation is based on the blocks of sub-matrix F_(i-1) and F_(i-1) ⁻¹ and no any direct inverse matrix calculation is necessary. FIG. 3 shows the implementation of F_(i)(1≦i≦L−1) by the method of low complexity calculation. The method of calculating F_(i) ⁻¹ mentioned above basically can be considered as the block-wise algorithm used in a traditional symbol-wise V-BLAST algorithm to implement the method proposed by J. Benesty, U. Huang, and J. Chen. However, one of the characteristics of the method in this invention is the simplification of equation (20); the calculation of the inverse matrix (B_(i-1) ^(T){overscore (F)}_(i-1)B_(i-1)+d_(i-1)I_(P))⁻¹ can be completely avoided, instead, the coefficients c_(i-i) ⁻¹ have to be found. Obtaining F_(i) ⁻¹ through equation (20) also needs some complicated matrix calculations, but due to the particular structure of F, the calculation complexity can be significantly reduced.

V. The V-Blast Detection of 2-Stage Group

As mentioned above, during only a small number of STBC users in the system, the traditional symbol-wise V-BLAST algorithm, as proposed by G. D. Golden, G. J. Foschini, R. A. Valenzuela, and P. W. Wolniansky, will make the receivers to encounter the problem of large volume of data processing, due to the time delay caused by the STBS users themselves. To remedy the drawback, the inventors propose the 2-stage group V-BLAST detection algorithm in this invention. Because STBC can better resist poor channel situations, the block-wise V-BLAST algorithm can be used for the detection of STBC data streams first. Next, after the STBC data streams were removed from y_(c)(k), the V-BLAST algorithm can be changed back to the traditional symbol-wise process to obtain SM data streams. However, under the detection process, the detection order of this 2-stage group V-BLAST detection algorithm may be not optimized and may thus suffer some performance loss. Besides, the symbol-wise V-BLAST algorithm can be executed only after all the STBC data streams are detected, even the detection order have been optimized.

VI. Computer Simulation Results

To understand the performance of the dual-signaling system, the inventors consider a four-users cellular system as following: 1) each user's terminal has 2 antennas, 2) the base station has 2 antennas, 3) the process gain of the CDMA is 16. For these four-access channels, suppose that the delay spread factor of the transmission is 5 chips in length: two channels of them are space-related and their visional paths comply with the Ricean Model and a 11 Ricean κ-factor are set to κ=10, and the rest two channels are independent Rayleigh attenuation channels. On the base station terminal, inventors use MMSE V-BLAST detector to solve the transmission signal. The inventors will use the average error rate (BER, take the average for all detected data streams) for the measurement of all communication performances. FIG. 4 shows that the performances of systems which all use the SM signals and the dual-signaling (realize the space diversity by using Alamouti's code). The QPSK modulation and 16-QAM modulation are used for SM transmission and for space diversity transmission respectively, so the two transmission modes have the same data transmission rate. As shown in the figure, using dual-signaling for transmission, especially adopting the distributed transmission on the associated channels, can really obtain a higher cell throughput.

Next, the two existing interference cancellation methods for the wireless multi-users' space-time coding, Naguib's 2-step Method and Stamouli's Method, are compared in performance with the block-wise V-BLAST detector of this invention. As the four-users example mentioned above, FIG. 5 shows the simulation results of the average error rates of the three detection methods. As shown in the figure, the block-wise V-BLAST detector and Naguib's 2-step Method can have the better performance, in which the Naguib's 2-step Method employs basically the parallel interference cancellation (PIC), combined with the searching mechanism of the maximal likelihood. FIG. 5 also shows the two methods have the similar performances. But the searching mechanism of maximum likelihood in Naguib's 2-step Method needs large volume of calculations, especially when the number of users or the symbol modulation layers becomes large. As to Stamouli's method, it needs the linear conversion for the separation of each user's data on each detection. And this kind of detection method will create the performance loss. This is because that the separation method can keep the receiver diversity gains at every layer at same level. However, the block-wise V-BLAST detector of this invention includes the elimination and the cancellation processes, which can make the receive diversity gain increasing gradually after the process of every time and every layer. 

1. A method of symbol detection for multi-input multi-output dual-signaling uplink CDMA systems that adopts dual-signaling at the transmission end for flexible switching between transmission diversity and being spatially multiplexed based on the variations of space-time channel conditions, characterized by: based on the channel characteristics, each user's data stream can be either orthogonal space-time block encoded (O-STBC) for transmission diversity or spatially multiplexed (V-BLAST) for high spectral efficiency.
 2. The method of claim 1, wherein the spatially multiplexed (V-BLAST) algorithm detects the data streams through the sophisticated usage of the algebraic structure of orthogonal space-time block encoding; and said V-BLAST algorithm can be implemented in block-wise, i.e. the data of either an STBC terminal or an SM terminal's antenna can be detected simultaneously on a each iteration calculation.
 3. The method of claim 1, wherein the said symbol detection uses a matched filter channel matrix with block orthogonal structure to develop a low complexity detector based on the recursive operations; and on the V-BLAST detection, the necessary weight matrix in each iteration calculation is directly obtained from the results of the previous iteration calculations, so that no extra inverse matrix calculation is needed.
 4. The method of claim 1, wherein the said symbol detection, to solve the time delay problem caused by space-time block encoding (STBC) signal, employs a 2-stage group V-BLAST detection algorithm, which first detects STBC data streams in block-wise followed by detecting the remaining SM data streams with traditional symbol-wise V-BLAST algorithm. 